package com.qingcheng.service.pay;

/**
 * Created by yuanxin
 * Date:2019/7/19
 * Time:21:12
 */

import lombok.Synchronized;

import java.util.Map;

/**
 * 微信支付接口
 */
public interface WeixinPayService {
    /**
     * 生成微信支付二维码
     * @param orderId 订单号
     * @param money 金额(分)
     * @param notifyUrl 回调地址
     * @param attach 附加数据
     * @return
     */
    public Map createNative(String orderId,Integer money,String notifyUrl,String... attach);

    /**
     * 微信支付回调
     * @param xml
     */
    public void notifyLogic(String xml);

    /**
     * 根据订单Id查询支付结果
     * @param orderId
     * @return out_trade_no 订单Id
     *          trade_state 支付状态
     */
    public Map queryPaymentResultByOrderId(String orderId);

    /**
     * 根据Id关闭订单
     * @param orderId
     * @return result_code 业务结果
     */
    public Map closeWXOrderByOrderId(String orderId);

    /**
     * 秒杀的支付回调
     * @param xml
     * @return
     */
    String seckillNotifyLogic(String xml);
}
